#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#ifndef VM_H_INCLUDED
#define VM_H_INCLUDED

//constants
#define MAX_CODE_LENGTH 500
#define MAX_STACK_LENGTH 2000

typedef enum{LIT = 1, OPR, LOD, STO, CAL, INC, JMP, JPC, WRT, RIN} OPCODE;

typedef enum{RET = 0, NEG, ADD, SUB, MUL, DIV, ODD, MOD, EQL, NEQ, LSS, LEQ, GTR, GEQ} OPR_METHOD;

struct instruction{
       int op;
       int l;
       int m;
};

struct instruction code[MAX_CODE_LENGTH];

void vm();

#endif

